package com.warmheart.builder.platform;

import com.warmheart.core.co.base.BaseCoBuilder;
import com.warmheart.core.co.oper.Co;
import com.warmheart.entity.platform.PlatformBase;

/**
 * 
 * @ClassName: PlatformBase
 * @Description: 平台实体CoBuilder类，对应表名称为tb_platform_base
 *               温馨提示：不要修改该实体CoBuilder类的任何字段
 * @author ZhangJianyang
 * @date 2025年06月16日 下午13:05:35
 *
 */
public class PlatformBaseCoBuilder extends BaseCoBuilder<PlatformBase, PlatformBaseCoBuilder> {

    private final PlatformBase t;

    @Override
    protected PlatformBaseCoBuilder self() {
        return this;
    }

    @Override
    public PlatformBase core() {
        return this.t;
    }

    public PlatformBaseCoBuilder(PlatformBase platformBase) {
        t = platformBase;
    }

    /**
     * 平台名称
     */
    private Co<PlatformBase, PlatformBaseCoBuilder> name;

    /**
     * 平台类型
     */
    private Co<PlatformBase, PlatformBaseCoBuilder> type;

    /**
     * 平台描述
     */
    private Co<PlatformBase, PlatformBaseCoBuilder> description;

    /**
     * 负责人ID
     */
    private Co<PlatformBase, PlatformBaseCoBuilder> ownerId;

    public Co<PlatformBase, PlatformBaseCoBuilder> name() {
        if (this.name == null) {
            this.name = new Co<PlatformBase, PlatformBaseCoBuilder>(self(), "name");
        }
        return this.name;
    }

    public Co<PlatformBase, PlatformBaseCoBuilder> type() {
        if (this.type == null) {
            this.type = new Co<PlatformBase, PlatformBaseCoBuilder>(self(), "type");
        }
        return this.type;
    }

    public Co<PlatformBase, PlatformBaseCoBuilder> description() {
        if (this.description == null) {
            this.description = new Co<PlatformBase, PlatformBaseCoBuilder>(self(), "description");
        }
        return this.description;
    }

    public Co<PlatformBase, PlatformBaseCoBuilder> ownerId() {
        if (this.ownerId == null) {
            this.ownerId = new Co<PlatformBase, PlatformBaseCoBuilder>(self(), "owner_id");
        }
        return this.ownerId;
    }
}